package sft.Atualizacao;

import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import sft.BancodeDados.CriaConexao;

public class UpdateVersao {
    private Connection conexao;
    
    public UpdateVersao() throws SQLException {
        conexao = new CriaConexao().getConnection();
    }
    
    public void getVersao(int versao) throws SQLException{
        
        PreparedStatement stmt = conexao.prepareStatement("select max(id) from sft_versao");
        ResultSet rs = stmt.executeQuery();
        rs.next();
        if(rs.getInt(1) > versao){
           int resp = JOptionPane.showConfirmDialog(null, "UMA NOVA VERSAO DO SFT ESTA DISPONIVEL. \n" + 
                   "Deseja Atualizar ?","ATENCAO",JOptionPane.YES_NO_OPTION);
           if(resp == 0)executar();
        }else{
            if(rs.getInt(1) < versao){
                JOptionPane.showMessageDialog(null, "versao \"" + versao + "\" superior ao banco de dados!","ERRO",JOptionPane.INFORMATION_MESSAGE);
            }
        }
    }
    
    public void executar() {
        try {
            // TODO code application logic here
            Runtime.getRuntime().exec("cmd.exe /C start MAPEAMENTO.bat");
            System.out.println("Arquivo MAPEAMENTO.BAT EXECUTADO COM SUCESSO!");
            System.exit(0);
        } catch (IOException ex) {
            JOptionPane.showMessageDialog(null, "ERRO AO ENCONTRAR O ARQUIVO!","ERRO",JOptionPane.ERROR_MESSAGE);
            Logger.getLogger(UpdateVersao.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
}
